/**
 * 判断是否为pc端
 */
function IsPC() {
  var userAgentInfo = navigator.userAgent
  var Agents = ['Android', 'iPhone', 'SymbianOS', 'Windows Phone', 'iPod']
  var flag = true
  for (var v = 0; v < Agents.length; v++) {
    if (userAgentInfo.indexOf(Agents[v]) > 0) {
      flag = false
      break
    }
  }
  if (window.screen.width >= 768) {
    flag = true
  }
  return flag
}

/**
 * 浏览器类型探测
 */
function getBrowser() {
  var agent = navigator.userAgent.toLowerCase(),
    opera = window.opera,
    browser = {
      ie: /(msie\s|trident.*rv:)([\w.]+)/.test(agent),
      opera: !!opera && opera.version,
      webkit: agent.indexOf(' applewebkit/') > -1,
      mac: agent.indexOf('macintosh') > -1,
      quirks: document.compatMode == 'BackCompat'
    }
  browser.gecko =
    navigator.product == 'Gecko' &&
    !browser.webkit &&
    !browser.opera &&
    !browser.ie
  var version = 0
  // Internet Explorer 6.0+
  if (browser.ie) {
    var v1 = agent.match(/(?:msie\s([\w.]+))/)
    var v2 = agent.match(/(?:trident.*rv:([\w.]+))/)
    if (v1 && v2 && v1[1] && v2[1]) {
      version = Math.max(v1[1] * 1, v2[1] * 1)
    } else if (v1 && v1[1]) {
      version = v1[1] * 1
    } else if (v2 && v2[1]) {
      version = v2[1] * 1
    } else {
      version = 0
    }
    browser.ie11Compat = document.documentMode == 11
    browser.ie9Compat = document.documentMode == 9
    browser.ie8 = !!document.documentMode
    browser.ie8Compat = document.documentMode == 8
    browser.ie7Compat =
      (version == 7 && !document.documentMode) || document.documentMode == 7
    browser.ie6Compat = version < 7 || browser.quirks
    browser.ie9above = version > 8
    browser.ie9below = version < 9
    browser.ie11above = version > 10
    browser.ie11below = version < 11
  }
  // Gecko.
  if (browser.gecko) {
    var geckoRelease = agent.match(/rv:([\d\.]+)/)
    if (geckoRelease) {
      geckoRelease = geckoRelease[1].split('.')
      version =
        geckoRelease[0] * 10000 +
        (geckoRelease[1] || 0) * 100 +
        (geckoRelease[2] || 0) * 1
    }
  }
  if (/chrome\/(\d+\.\d)/i.test(agent)) {
    browser.chrome = +RegExp['\x241']
  }
  if (
    /(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(agent) &&
    !/chrome/i.test(agent)
  ) {
    browser.safari = +(RegExp['\x241'] || RegExp['\x242'])
  }

  // Opera 9.50+
  if (browser.opera) version = parseFloat(opera.version())
  // WebKit 522+ (Safari 3+)
  if (browser.webkit)
    version = parseFloat(agent.match(/ applewebkit\/(\d+)/)[1])
  browser.version = version
  browser.isCompatible =
    !browser.mobile &&
    ((browser.ie && version >= 6) ||
      (browser.gecko && version >= 10801) ||
      (browser.opera && version >= 9.5) ||
      (browser.air && version >= 1) ||
      (browser.webkit && version >= 522) ||
      false)
  return browser
}

module.exports = {
  IsPC, // 判断是否为pc端
  getBrowser // 浏览器类型探测
}
